package com.xbongbong.paas.pojo.workflow.explains;

import com.xbongbong.paas.field.FieldAttrEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.List;

/**
 * @author 吴峰
 * @date 2021/05/28 10:16
 */
@Getter
@Setter
@ToString
public class WorkflowSourceFieldPojo implements Serializable {
    private static final long serialVersionUID = 5951862581044101443L;
    /**
     * 节点名称
     */
    private String nodeName;

    private String attrName;

    private String formName;
    /**
     * 节点id
     */
    private Long workflowNodeId;
    /**
     * 节点的表单id
     */
    private Long formId;
    /**
     * 节点的业务类型
     */
    private Integer businessType;
    /**
     * 节点的saas标识
     */
    private Integer saasMark;

    /**
     * 字段解释
     */
    private List<FieldAttrEntity> explainList;

    /**
     * 是否为系统信息
     */
    private Integer system;
    /**
     * 是否为触发节点 1：是；0：否
     */
    private Integer triggerNodeFlag;

    private String fieldId;

    private Integer open;

    public WorkflowSourceFieldPojo() {
    }

    public WorkflowSourceFieldPojo(String nodeName, Long workflowNodeId, Long formId, Integer businessType, Integer saasMark, Integer system, Integer triggerNodeFlag, List<FieldAttrEntity> explainList) {
        this.nodeName = nodeName;
        this.attrName = attrName;
        this.workflowNodeId = workflowNodeId;
        this.formId = formId;
        this.businessType = businessType;
        this.saasMark = saasMark;
        this.system = system;
        this.triggerNodeFlag = triggerNodeFlag;
        this.explainList = explainList;
    }


    public WorkflowSourceFieldPojo(String nodeName, String formName, Long workflowNodeId, Long formId, Integer businessType, Integer saasMark, Integer system, Integer triggerNodeFlag, List<FieldAttrEntity> explainList) {
        this.nodeName = nodeName;
        this.formName = formName;
        this.workflowNodeId = workflowNodeId;
        this.formId = formId;
        this.businessType = businessType;
        this.saasMark = saasMark;
        this.system = system;
        this.triggerNodeFlag = triggerNodeFlag;
        this.explainList = explainList;
    }

    public WorkflowSourceFieldPojo(String nodeName, String attrName, String fieldId, Long workflowNodeId, Long formId, Integer businessType, Integer saasMark, Integer system, Integer triggerNodeFlag, List<FieldAttrEntity> explainList) {
        this.nodeName = nodeName;
        this.attrName = attrName;
        this.fieldId = fieldId;
        this.workflowNodeId = workflowNodeId;
        this.formId = formId;
        this.businessType = businessType;
        this.saasMark = saasMark;
        this.system = system;
        this.triggerNodeFlag = triggerNodeFlag;
        this.explainList = explainList;
    }
}
